home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_31 / cmdline.asm < prev    next >
Assembly Source File  |  1995-01-01  |  1KB  |  56 lines

  1. Interactive    db    1        ; 0 - Off, 1 - On
  2. proc            LoadCommandLine near
  3.         ; Scan the command line for the module name.
  4.                 mov     ds, [cs:PspAddress]
  5.                 mov     si, 128
  6.         cld
  7.         lodsb
  8.                 or      al,al                   ; Are we at a null?
  9.         je    @@noargv
  10. @@MoreThanOne:  mov     bx,si
  11.                 xor     ah,ah
  12.                 add     bx,ax
  13. @@TopLoop:      cmp     bx,si
  14.         je    @@noargv
  15.                 lodsb
  16.                 cmp     al,' '
  17.         je    @@TopLoop
  18.         cmp    al,'-'
  19.         jne    @@GetFilename
  20.         cmp    [Byte si],'i'
  21.         je    @@SetInteractive
  22.         cmp    [Byte si],'I'
  23.         jne    @@DecIt
  24. @@SetInteractive:
  25.         mov    [Byte cs:Interactive],1
  26.         jmp    @@TopLoop
  27. @@DecIt:        dec     si
  28.         lodsb
  29. @@GetFilename:  xor     ah,ah
  30.                 dec     si
  31.                 mov     cx,80
  32. @@TopGet:       cmp     bx,si
  33.         je    @@StoreFilename
  34.                 lodsb
  35.                 cmp     al,'.'
  36.         jne    @@NotPeriod
  37.                 mov     ah,1
  38. @@NotPeriod:    cmp     al,13
  39.         je    @@StoreFilename
  40.                 loop    @@TopGet
  41. @@StoreFilename:or      ah,ah
  42.         jne    @@JustZero
  43.                 mov     [Byte si],'.'
  44.                 mov     [Byte si+1],'M'
  45.                 mov     [Byte si+2],'O'
  46.                 mov     [Byte si+3],'D'
  47.                 add     si,4
  48. @@JustZero:     mov     [Byte si],0
  49.         mov    [Byte cs:Interactive],0
  50.         clc
  51.         ret
  52. @@noargv:    stc
  53.         ret
  54. endp        LoadCommandLine
  55.  
  56.